﻿//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1998-2024 Glodon Company Limited.
//
// Licensed under the MIT License
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the “Software”),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//////////////////////////////////////////////////////////////////////////////
#pragma once

///////////////////////////////////////////////////////////////////////////////
// ribbon页面的ID。
#define ID_PAGE_COMMON                      L"gmCommonPage"
#define ID_PAGE_MANAGEMENT                  L"gmPageManagement"
#define ID_PAGE_MODIFY                      L"gmModifyPage"
#define ID_PAGE_GBMP_PAPER                  L"gbmpPaperPage"

// 快捷工具条
#define ID_QUICKACCESS_BAR                  L"gmQuickAccessBar"
#define ID_CMD_UNDO                            L"gmUndoCmd"
#define ID_CMD_REDO                            L"gmRedoCmd"

// 状态栏
#define STATUSBAR_FILTER_PANEL              L"StatusBarFilterPanel"          // 过滤器面板
#define ID_CMD_PICK_FILTER_GBMP             L"gbmpStatusBarPickFilterCmd"

// 文件
#define ID_CMD_NEW_FILE                        L"gmNewProject"
#define ID_CMD_SAVE_FILE                       L"gmSaveFile"
#define ID_CMD_SAVE_FILE_AS                    L"gmSaveFileAs"
#define ID_CMD_CLOSE_FILE                      L"gmCloseFile"

// 帮助
#define ID_CMD_HELP                      L"gmHelp"
#define ID_CMD_ABOUTQT                   L"gmAboutQt"

// 视图
#define ID_CMD_GBMP_CREATE_PLAN_VIEW              L"gbmpCreatePlanViewCmd"
#define ID_CMD_CREATE_ELEVATION_VIEW              L"gmCreateElevationViewCmd"
#define ID_CMD_GBMP_CREATE_3D_VIEW                L"gbmpCreate3DViewCmd"
#define ID_CMD_SWITCHTO_3DVIEW                 L"gmSwitchTo3DView"
#define ID_CMD_GBMP_CREATE_SECTION_VIEW           L"gbmpCreateSectionViewCmd"
#define ID_CMD_GBMP_CREATE_STAIR_VIEW             L"gbmpCreateStairViewCmd"

#define ID_CMD_VIEW_GRAPHICS_STYLE                L"gmViewGraphicsStyleCmd"
#define ID_CMD_VIEW_MATERIAL_SET            L"gmViewMaterialSetCmd"
#define ID_CMD_PROJECT_MATERIAL_SET          L"gmProjectMaterialSetCmd"

#define ID_CMD_TEMPORARY_HIDE_SELECTION           L"gmTemporaryHideSelection"
#define ID_CMD_TEMPORARY_HIDE_OTHER               L"gmTemporaryHideOther"
#define ID_CMD_RESET_TEMPORARY_HIDDEN_ELEMENTS    L"gmResetTemporaryHiddenElements"

#define ID_CMD_ZOOM_FIT                           L"gmZoomFitCmd"
#define ID_CMD_TILE_WINDOW                        L"gmTileWindowCmd"

#define ID_CMD_SHOW_HIDE_VIEWMANAGER              L"gmShowHideViewManagerCmd"
#define ID_CMD_SHOW_HIDE_PROPERTY_PALETTE         L"gmShowHidePropertyPalette"

// 图纸
#define ID_CMD_CREATE_PAPER                       L"gmCreatePaper"
#define ID_CMD_CREATE_VIEW_PORT                   L"gmInsertViewPort"
#define ID_CMD_CREATE_VIEW_PORT_MULTI             L"gmInsertViewPortMulti"
#define ID_CMD_CREATE_VIEW_PORT_MULTI_OVERRIDE             L"gmInsertViewPortMultiOverride"


// 修改
#define ID_CMD_GBMP_MODIFY                        L"gbmpModifyCmd"
#define ID_CMD_GBMP_MODIFY_FILTER_FACE            L"gbmpModifyFilterFaceCmd"

#define ID_CMD_GBMP_CLIPBOARD_PASTE               L"gbmpClipBoardPasteCmd"
#define ID_CMD_GBMP_CLIPBOARD_PASTE_TO_LEVEL      L"gbmpClipBoardPasteToLevelCmd"
#define ID_CMD_GBMP_CLIPBOARD_CUT                 L"gbmpClipBoardCutCmd"
#define ID_CMD_GBMP_CLIPBOARD_COPY                L"gbmpClipBoardCopyCmd"

#define ID_CMD_GBMP_MOVE_SELECTION                L"gbmpMoveSelectionCmd"
#define ID_CMD_GBMP_ROTATE_ELEMENT                L"gbmpRotateElementCmd"
#define ID_CMD_GBMP_MIRROR                        L"gbmpMirrorCmd"
#define ID_CMD_GBMP_ALIGNMENT                     L"gbmpAlignmentCmd"
#define ID_CMD_GBMP_COPY                          L"gbmpCopyCmd"
#define ID_CMD_GBMP_LINEAR_PATTERN                L"gbmpLinearPatternCmd"
#define ID_CMD_GBMP_RADIAL_PATTERN                L"gbmpRadialPatternCmd"
#define ID_CMD_GBMP_CUT_ELEMENT                   L"gbmpCutElementCmd"
#define ID_CMD_GBMP_DELETE_SELECTION              L"gbmpDeleteSelectionCmd"

#define ID_CMD_GBMP_OFFSET                        L"gbmpOffsetCmd"
#define ID_CMD_GBMP_TRIM_ELEMENT                  L"gbmpTrimElementCmd"
#define ID_CMD_GBMP_EXTEND_ELEMENT                L"gbmpExtendElementCmd"
#define ID_CMD_GBMP_BREAK_ELEMENT                 L"gbmpBreakElementCmd"
#define ID_CMD_CHAMFER_RIGHT_ANGLE                L"gmChamferRightAngleCmd"
#define ID_CMD_CHAMFER_FILLET                     L"gmChamferFilletCmd"

#define ID_CMD_GBMP_CANCEL_STRUCTURE_JOIN         L"gbmpCancelStructureJoinCmd"

#define ID_CMD_ENTER_INPLACE_CREATE_MODE          L"gmEnterInplaceCreateMode"
#define ID_CMD_ENTER_INPLACE_EDIT_MODE            L"gmEnterInplaceEditMode"

#define ID_CMD_GBMP_SCALE_CAD                     L"gmScaleCADCmd"

// 管理
#define ID_CMD_PROJECT_GRAPHICS_STYLE             L"gmProjectGraphicsStyleCmd"
#define ID_CMD_SNAP_SETTING                       L"gmSnapSettingCmd"
#define ID_CMD_LINE_TYPE                          L"gmViewLineTypeCmd"
#define ID_CMD_REVCLOUD_STYLES                    L"gmRevCloudStylesManager"

// used by other projects
// 工作平面
#define ID_CMD_GBMP_SETUP_WORK_PLANE              L"gbmpSetupWorkPlaneCmd"
#define ID_CMD_GBMP_SETUP_WORK_PLANE_BY_PICK      L"gbmpSetupWorkPlaneByPickCmd"
#define ID_CMD_SHOW_HIDE_WORK_PLANE               L"gmShowHideWorkPlaneCmd"

// 模型线
// 用户坐标系
#define ID_CMD_GBMP_USERCOORDSYSTEM_MGR                L"gmUserCoordSystemMgrCmd"

// GBMP模型线
#define ID_CMD_GBMP_DRAW_STRAIGHT_MODEL_LINE      L"gbmpDrawStraightModelLineCmd"
#define ID_CMD_GBMP_DRAW_RECT_MODEL_LINE          L"gbmpDrawRectModelLineCmd"
#define ID_CMD_GBMP_DRAW_ARC_3PTS_MODEL_LINE      L"gbmpDrawArcBy3PtsModelLineCmd"
#define ID_CMD_GBMP_DRAW_ARC_CENTER_MODEL_LINE    L"gbmpDrawArcByByCenterEndPtModelLineCmd"
#define ID_CMD_GBMP_DRAW_ELLIPSE_ARC_MODEL_LINE   L"gbmpDrawEllipseArcModelLineCmd"
#define ID_CMD_GBMP_DRAW_CIRCLE_MODEL_LINE        L"gbmpDrawCircleModelLineCmd"
#define ID_CMD_GBMP_DRAW_STRAIGHT_MODEL_LINE_WITHOUT_REF L"gbmpDrawStraightModelLineWithoutReferenceCmd"
#define ID_CMD_GBMP_DRAW_RECT_MODEL_LINE_WITHOUT_REF          L"gbmpDrawRectModelLineWithoutReferenceCmd"
#define ID_CMD_GBMP_DRAW_ARC_3PTS_MODEL_LINE_WITHOUT_REF      L"gbmpDrawArcBy3PtsModelLineWithoutReferenceCmd"
#define ID_CMD_GBMP_DRAW_ARC_CENTER_MODEL_LINE_WITHOUT_REF    L"gbmpDrawArcByByCenterEndPtModelLineWithoutReferenceCmd"

// 多段线相关操作
#define ID_CMD_POLYLINE_ADD_VERTEX                          L"gmPolyLineAddVertexTest"
#define ID_CMD_POLYLINE_DELETE_VERTEX                          L"gmPolyLineDeleteVertexTest"

//参照平面
#define ID_COM_DRAW_STRUCTURE_REFERENCEPLANE_BY_LINE                L"CmdDrawStructureReferencePlaneByLine"
#define ID_COM_DRAW_STRUCTURE_REFERENCEPLANE_BY_Pick                L"CmdDrawStructureReferencePlaneByPick"

// 构件
#define ID_CMD_CREATE_LINEAR_INSTANCE       L"gmCreateLinearInstance"
#define ID_CMD_CREATE_POINTFAMILY_INSTANCE_ON_WORKPLANE   L"gmCreatePointFamilyInstanceOnWorkplane"
#define ID_CMD_CREATE_POINTFAMILY_INSTANCE_ON_FACE   L"gmCreatePointFamilyInstanceOnFace"

// 表格相关命令定义

#define ID_CMD_DRAWING_TABLE_ADD_ROW             L"gmDrawingTableAddRow"
#define ID_CMD_DRAWING_TABLE_INSERT_ROW             L"gmDrawingTableInsertRow"
#define ID_CMD_DRAWING_TABLE_DELETE_ROW             L"gmDrawingTableDeleteRow"
#define ID_CMD_DRAWING_TABLE_ADD_COLUMN             L"gmDrawingTableAddColumn"
#define ID_CMD_DRAWING_TABLE_INSERT_COLUMN             L"gmDrawingTableInsertColumn"
#define ID_CMD_DRAWING_TABLE_DELETE_COLUMN             L"gmDrawingTableDeleteColumn"
#define ID_CMD_DRAWING_TABLE_INSERT_ROWS             L"gmDrawingTableInsertRows"
#define ID_CMD_DRAWING_TABLE_INSERT_COLUMNS             L"gmDrawingTableInsertColumns"
#define ID_CMD_DRAWING_TABLE_BIND_RELATED_ELEMENT             L"gmDrawingTableBindRelatedElement"
#define ID_CMD_DRAWING_TABLE_BIND_RELATED_ELEMENT_EX        L"gmDrawingTableBindRelatedElementEx"
#define ID_CMD_DRAWING_TABLE_UNBIND_RELATED_ELEMENT           L"gmDrawingTableUnbindRelatedElement"
#define ID_CMD_DRAWINGTABLEMERGE_TEST L"gmDrawingTableMergeTest"
#define ID_CMD_DRAWINGTABLERESTORE_TEST L"gmDrawingTableRestoreTest"

// delete cad element
#define ID_CMD_DELETE_CAD_ELEMENT            L"gmDeleteCADElementCmd"
// 测试成组
#define ID_CMD_CREATE_GROUP_BY_TYPE          L"gmCmdTestCreateGroupByType"
#define ID_CMD_DELETE_GROUP_TYPE             L"gmCmdTestDeleteGroupType"
#define ID_CMD_RENAME_GROUP_TYPE             L"gmCmdTestRenameGroupType"
#define ID_CMD_EXPORT_GROUP_TYPE             L"gmCmdTestExportGroupType"
#define ID_CMD_EDIT_GROUP_TYPE                  L"gmCmdEditGroupType"

#define ID_CMD_DRAWINGLINE_LINE                    L"gmDrawingLineCmd"
#define ID_CMD_CREATE_ANNOTATION_TEXT        L"gmCreateAnnotationTextCmd"
//参照线
#define ID_CMD_DRAW_REFERENCELINE_LINE               L"gmDrawReferenceLineStraightCmd"

#define ID_CMD_DRAW_REFERENCE_PLANE                 L"gmDrawReferencePlaneCmd"

#define ID_CMD_FAMILY_CREATE_EXTRUSION          L"fam.create.extrusion"
#define ID_CMD_FAMILY_CREATE_REVOLUSION         L"gmFamilyCreateRevolutionCmd"
#define ID_CMD_FAMILY_CREATE_SWEEP              L"gmFamilyCreateSweepCmd"
#define ID_CMD_FAMILY_CREATE_BLEND              L"gmFamilyCreateBlendCmd"

//放样融合体
#define ID_CMD_FAMILY_CREATE_SWEPTLOFT      L"gmFamilyCreateSweptLoftCmd"

#define ID_CMD_FAMILY_CREATE_CUBOID             L"gmFamilyCreateCuboidCmd"
#define ID_CMD_FAMILY_CREATE_CONE               L"gmFamilyCreateConeCmd"
#define ID_CMD_FAMILY_CREATE_SPHERE             L"gmFamilyCreateSphereCmd"
#define ID_CMD_FAMILY_CREATE_POLYGONEXTRUDE     L"gmFamilyCreatePolygonExtrudeCmd"
#define ID_CMD_FAMILY_CREATE_CYLINDER           L"gmFamilyCreateCylinderCmd"
#define ID_CMD_FAMILY_CREATE_TUBE               L"gmFamilyCreateTubeCmd"
#define ID_CMD_FAMILY_CREATE_TORUS              L"gmFamilyCreateTorusCmd"

// 风管
#define ID_CMD_FAMILY_CREATE_DUCT_CONNECTOR             L"gmFamilyCreateDuctConnector"
#define ID_CMD_FAMILY_CREATE_PIPE_CONNECTOR             L"gmFamilyCreatePipeConnector"

#define ID_CMD_FAMILY_CREATE_ELECTRCIAL_CONNECTOR       L"gmFamilyCreateElectricalConnector"
#define ID_CMD_FAMILY_CREATE_CABLE_TRAY_CONNECTOR       L"gmFamilyCreateCableTrayConnector"
#define ID_CMD_FAMILY_CREATE_CONDUIT_CONNECTOR          L"gmFamilyCreateConduitConnector"

// 删除视图
#define ID_CMD_REMOVE_SELECTED_MODEL_VIEW            L"gmRemoveSelectedModelViewCmd"
#define ID_CMD_REMOVE_SELECTED_PAPER_OR_VIEWPORT     L"gmRemoveSelectedPaperOrViewport"

